Skip to content

Avoid creating _base declarations#61087

Closed
CraigMacomber wants to merge 2 commits intomicrosoft:mainfrom
CraigMacomber:noBase
Closed

Avoid creating _base declarations#61087
CraigMacomber wants to merge 2 commits intomicrosoft:mainfrom
CraigMacomber:noBase

Conversation

@CraigMacomber
Copy link

Fixes #59550

const varDecl = factory.createVariableDeclaration(newId, /*exclamationToken*/ undefined, resolver.createTypeOfExpression(extendsClause.expression, input, declarationEmitNodeBuilderFlags, declarationEmitInternalNodeBuilderFlags, symbolTracker), /*initializer*/ undefined);
const statement = factory.createVariableStatement(needsDeclare ? [factory.createModifier(SyntaxKind.DeclareKeyword)] : [], factory.createVariableDeclarationList([varDecl], NodeFlags.Const));
const baseType = resolver.createTypeOfExpression(extendsClause.expression, input, declarationEmitNodeBuilderFlags, declarationEmitInternalNodeBuilderFlags, symbolTracker);
const extendsExpression = factory.createAsExpression(factory.createObjectLiteralExpression(), baseType!); // TODO: GH#18217
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having never worked on this code before, and the relevant types and methods mostly being undocumented, I don't know why this createTypeOfExpression might return undefined or if ignoring undefined values here is safe to do here.

I'm also not sure if putting the // TODO: GH#18217 makes sense or not: it seemed to be used to track questionable use of ! (like the one I removed below) so I left it here to help draw attention to the ! here.

@typescript-bot typescript-bot added the For Backlog Bug PRs that fix a backlog bug label Jan 31, 2025
@typescript-bot
Copy link
Collaborator

The TypeScript team hasn't accepted the linked issue #59550. If you can get it accepted, this PR will have a better chance of being reviewed.

1 similar comment
@typescript-bot
Copy link
Collaborator

The TypeScript team hasn't accepted the linked issue #59550. If you can get it accepted, this PR will have a better chance of being reviewed.

@typescript-bot
Copy link
Collaborator

With 6.0 out as the final release vehicle for this codebase, we're closing all PRs that don't fit the merge criteria for post-6.0 patches. If you think this was a mistake and this PR fits the post-6.0 patch criteria, please post to the 6.0 iteration issue with details (specifically, which PR and which patch criteria it satisfies).

Next steps for PRs:

  • For crash bugfixes or language service improvements, PRs are currently accepted at the typescript-go repo
  • Changes to type system behavior should wait until after 7.0, at which point mainline TypeScript development will resume in this repository with the Go codebase
  • Library file updates (lib.d.ts etc) continue to live in this repo or the DOM Generator repo as appropriate

@github-project-automation github-project-automation bot moved this from Not started to Done in PR Backlog Mar 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

For Backlog Bug PRs that fix a backlog bug

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Inline *_base declaration in d.ts files

3 participants